package cc.wfu.domain.order.service;

import cc.wfu.domain.order.model.valobj.ActivitySkuStockKeyVO;

/**
 * @Author: jia-qiang ljq1024.cc
 * @desc: 商品sku库存
 * @Date: 2024-06-06-19:24
 */
public interface ISkuStock {

    /**
     * 获取活动sku库存消耗队列
     *
     * @return 奖品库存Key信息
     * @throws InterruptedException 异常
     */
    ActivitySkuStockKeyVO takeQueueValue() throws InterruptedException;

    /** 清空商品sku库存 */
    void clearActivitySkuStock(Long sku);

    /**
     * 延迟队列 + 任务 趋势更新活动sku库存
     *
     * @param sku 活动商品
     */
    void updateActivitySkuStock(Long sku);

}
